package edu.nf.vac.users.inf;

import edu.nf.vac.users.dto.PageDTO;
import edu.nf.vac.users.dto.UserDTO;

import java.util.List;

/**
 * @Author : QYM
 * @create 2022/3/29
 * 用户信息接口
 */

public interface UserService {
    /**
     * 添加用户
     * @param userDTO
     */
    void addUser(UserDTO userDTO);

    /**
     * 删除用户
     * @param id
     */
    void delUser(int id);

    /**
     * 修改用户
     * @param userDTO
     */
    void updateUser(UserDTO userDTO);

    /**
     * 修改密码
     * @param userDTO
     * @param oldPass
     * @param newPass
     */
    void changePwd(UserDTO userDTO,String oldPass,String newPass);

    /**
     * 改变用户状态
     * @param userId
     * @param userStatus
     */
    void changeUserStatus(int userId,boolean userStatus);

    /**
     * 违约
     * @param userId
     */
    void breakPromise(int userId);

    /**
     * 查询用户列表
     * @param userDTO
     * @param pageNum
     * @param pageSize
     * @return
     */
    PageDTO<UserDTO> listUser(UserDTO userDTO,int pageNum,int pageSize);

    /**
     * 根据用户ID查询用户信息
     * @param id
     * @return
     */
    UserDTO getUserById(int id);

    /**
     * 根据电话查询用户信息
     * @param tel
     * @return
     */
    UserDTO getUserByTel(String tel);

    /**
     * 根据用户姓名查询用户信息
     * @param userName
     * @return
     */
    List<UserDTO> queryUserByName(String userName);
}
